/*	
   ______   ______    
  /\__  __\/\ \___\ 
  \/_/\ \_/\ \ \__/    __   __     __       
     \ \ \  \ \ \__\  /\ \ /\ \  /'__`\  
     _\_\ \  \ \ \_/_ \ \ \\_\ \/\  __/       
    /\____/   \ \_____\\ \_____/\ \____\   
    \_/__/     \/_____/ \/____/  \/____/                   
 
 	This file is part of the JEVE core API.

    JEve is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.

    JEve is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
    
    Copyright 2008 JEve Project (JEveProject@gmail.com)
 */
package be.fomp.jeve.application.api;

import org.jdom.Document;

import be.fomp.jeve.core.exceptions.JEveException;

/**
 * <pre>
 *  ______   ______    
 * /\__  __\/\ \___\ 
 * \/_/\ \_/\ \ \__/    __   __     __       
 *    \ \ \  \ \ \__\  /\ \ /\ \  /'__`\  
 *    _\_\ \  \ \ \_/_ \ \ \\_\ \/\  __/       
 *   /\____/   \ \_____\\ \_____/\ \____\   
 *   \_/__/     \/_____/ \/____/  \/____/                   
 *</pre>
 *	This file is part of the JEVE core API.<br />
 *	<br />
 *
 * Interface containing the accessor methods for the EVE-Online API 
 * which require the full access API key.
 * 
 * @author Sven Meys
 *
 */
public interface FullFactory extends LimitedFactory {
		//TODO change to load/store, change returntypes and exceptions, provide doc
	
	
	/*--[ API V1 ]--*/

		Document getAccountBallance(int userID, String apiKey, int characterID) throws JEveException;
		

		Document getCorpAccountBallance(int userID, String apiKey, int characterID) throws JEveException;
	
	
		Document getWalletJournal(int userID, String apiKey, int characterID, int beforeRefID) throws JEveException;
		

		Document getCorpWalletJournal(int userID, String apiKey, int characterID, int accountKey, int beforeRefID) throws JEveException;
		
		
		Document getWalletTransactions(int userID, String apiKey, int characterID, int beforeTransID) throws JEveException;
		
		
		Document getCorpWalletTransactions(int userID, String apiKey, int characterID, int accountKey, int beforeTransID) throws JEveException;
		
		
		Document getCorpMemberTracking(int userID, String apiKey, int characterID) throws JEveException;
		
	/*--[ API V2 ]--*/
	
	
		Document getAssetList(int userID, String apiKey, int characterID) throws JEveException;
		
	
		Document getCorpAssetList(int userID, String apiKey, int characterID) throws JEveException;

		
		Document getIndustryJobs(int userID, String apiKey, int characterID) throws JEveException;
		
		
		Document getCorpIndustryJobs(int userID, String apiKey, int characterID) throws JEveException;
		

		Document getKillLog(int userID, String apiKey, int characterID, int beforeKillID) throws JEveException;
		

		Document getCorpKillLog(int userID, String apiKey, int characterID, int beforeKillID) throws JEveException;
		
	
		Document getMarketOrders(int userID, String apiKey, int characterID) throws JEveException;
		
		
		Document getCorpMarketOrders(int userID, String apiKey, int characterID) throws JEveException;
		
		
		Document getCorpStarbaseDetail(int userID, String apiKey, int characterID, int itemID) throws JEveException;
		
		
		Document getCorpStarbaseList(int userID, String apiKey, int characterID) throws JEveException;
		
	/*--[ API V3 ]--*/
		 
		 
}
